#include <iostream>

// constexpr int add(int a, int b)
// {
//     return a + b;
// }

constexpr int add(int n)
{
    if(n == 1 || n == 2)
        return 1;
    return add(n - 1) + add(n - 2);
}


int main()
{
    // 常量表达式：用来修饰一个表达式，会在编译期进行计算，相当于简化模板元编程
    // 鼠标放在变量上就会发现区别

    // int b = 1 + 2;
    // constexpr int a = 1 + 2; 
    
    // int b = add(1, 2);
    // constexpr int a = add(1, 2);

    int b = add(3);
    constexpr int a = add(10);
    // =表达式必须是在编译期可以确定的
    constexpr int c = add(9);

    return 0;
}